package com.sll.hosptials.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sll.hosptials.controller.req.AddOrUpdateOrgInfoReq;
import com.sll.hosptials.controller.req.IdReq;
import com.sll.hosptials.controller.req.OrgInfoListReq;
import com.sll.hosptials.controller.req.OrgInfoPageReq;
import com.sll.hosptials.dto.OrgInfoDTO;
import com.sll.hosptials.controller.resp.OrgInfoPageResp;
import com.sll.hosptials.model.OrgInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author shaolulu
* @description 针对表【org_info(组织信息)】的数据库操作Service
* @createDate 2024-01-02 14:21:46
*/
public interface OrgInfoService extends IService<OrgInfo> {

    /**
     * 新增组织信息
     * @param req
     * @return
     */
    Boolean addOrgInfo(AddOrUpdateOrgInfoReq req);

    /**
     * 获取组织信息分页
     * @param req
     * @return
     */
    Page<OrgInfoPageResp> orgInfoPage(OrgInfoPageReq req);

    /**
     * 获取所有组织信息
     * 可根据父节点查询子节点的树结构，根据组织名称查询结构(从下到上的结构)
     * @return
     */
    List<OrgInfoPageResp> getOrgInfoList(OrgInfoListReq req);

    /**
     * 获取组织详情信息
     * @param orgId
     * @return
     */
    OrgInfoDTO orgInfoDetail(Long orgId);

    Boolean delete(IdReq req);



}
